package com.itheima.作业.汽车网站;

import java.util.ArrayList;
import java.util.List;

import static java.lang.reflect.Array.getLength;

/**
 * 1. 模拟汽车网站信息。
 * 2. 定义汽车Auto类
 *    1. 属性：品牌，车长，价格
 * 3. 定义SUV继承Auto类
 *    1. 属性：小型车车长标准值：4295，中型车车长标准值：5070。
 *    2. 定义判断车型方法
 *       1. 判断小型车：小于小型车车长标准值
 *       2. 判断大型车：大于中型车车长标准值
 *       3. 判断中型车：大于小型车车长标准值并且小于等于中型车车长标准值
 * 4. 测试类中，创建若干SUV对象，保存到集合，遍历集合，输出中型SUV。
 */
public class SUV extends Auto {
    private double smallCarLength=4295;
    private double mediumCarLength=5070;

    public SUV() {
    }

    public SUV(double smallCarLength, double mediumCarLength) {
        this.smallCarLength = smallCarLength;
        this.mediumCarLength = mediumCarLength;
    }

    public SUV(String brand, double length, double price) {
        super(brand, length, price);
        this.smallCarLength = smallCarLength;
        this.mediumCarLength = mediumCarLength;
    }

    public String getType() {
        double length = getLength();

        if (length < smallCarLength) {
            return "小型车";
        } else if (length <= mediumCarLength) {
            return "中型车";
        } else {
            return "大型车";
        }
    }
    public static List<SUV> filterMediumSUVs(List<SUV> suvs) {
        List<SUV> result = new ArrayList<>();
        for (SUV suv : suvs) {
            if ("中型车".equals(suv.getType())) {
                result.add(suv);
            }
        }
        return result;
    }
}

